minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
↳ QTRS
↳ Non-Overlap Check
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
F4(s1(x), 0, z, u) -> MINUS2(z, s1(x))
F4(s1(x), s1(y), z, u) -> F4(s1(x), minus2(y, x), z, u)
F4(s1(x), s1(y), z, u) -> MINUS2(y, x)
F4(s1(x), s1(y), z, u) -> F4(x, u, z, u)
F4(s1(x), s1(y), z, u) -> LE2(x, y)
F4(s1(x), s1(y), z, u) -> IF3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
LE2(s1(x), s1(y)) -> LE2(x, y)
PERFECTP1(s1(x)) -> F4(x, s1(0), s1(x), s1(x))
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
F4(s1(x), 0, z, u) -> F4(x, u, minus2(z, s1(x)), u)
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
F4(s1(x), 0, z, u) -> MINUS2(z, s1(x))
F4(s1(x), s1(y), z, u) -> F4(s1(x), minus2(y, x), z, u)
F4(s1(x), s1(y), z, u) -> MINUS2(y, x)
F4(s1(x), s1(y), z, u) -> F4(x, u, z, u)
F4(s1(x), s1(y), z, u) -> LE2(x, y)
F4(s1(x), s1(y), z, u) -> IF3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
LE2(s1(x), s1(y)) -> LE2(x, y)
PERFECTP1(s1(x)) -> F4(x, s1(0), s1(x), s1(x))
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
F4(s1(x), 0, z, u) -> F4(x, u, minus2(z, s1(x)), u)
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
LE2(s1(x), s1(y)) -> LE2(x, y)
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
LE2(s1(x), s1(y)) -> LE2(x, y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
F4(s1(x), s1(y), z, u) -> F4(s1(x), minus2(y, x), z, u)
F4(s1(x), s1(y), z, u) -> F4(x, u, z, u)
F4(s1(x), 0, z, u) -> F4(x, u, minus2(z, s1(x)), u)
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
F4(s1(x), s1(y), z, u) -> F4(x, u, z, u)
F4(s1(x), 0, z, u) -> F4(x, u, minus2(z, s1(x)), u)
Used ordering: Combined order from the following AFS and order.
F4(s1(x), s1(y), z, u) -> F4(s1(x), minus2(y, x), z, u)
0 > s1
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
F4(s1(x), s1(y), z, u) -> F4(s1(x), minus2(y, x), z, u)
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
F4(s1(x), s1(y), z, u) -> F4(s1(x), minus2(y, x), z, u)
0 > s1
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
minus2(0, y) -> 0
minus2(s1(x), 0) -> s1(x)
minus2(s1(x), s1(y)) -> minus2(x, y)
le2(0, y) -> true
le2(s1(x), 0) -> false
le2(s1(x), s1(y)) -> le2(x, y)
if3(true, x, y) -> x
if3(false, x, y) -> y
perfectp1(0) -> false
perfectp1(s1(x)) -> f4(x, s1(0), s1(x), s1(x))
f4(0, y, 0, u) -> true
f4(0, y, s1(z), u) -> false
f4(s1(x), 0, z, u) -> f4(x, u, minus2(z, s1(x)), u)
f4(s1(x), s1(y), z, u) -> if3(le2(x, y), f4(s1(x), minus2(y, x), z, u), f4(x, u, z, u))
minus2(0, x0)
minus2(s1(x0), 0)
minus2(s1(x0), s1(x1))
le2(0, x0)
le2(s1(x0), 0)
le2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
perfectp1(0)
perfectp1(s1(x0))
f4(0, x0, 0, x1)
f4(0, x0, s1(x1), x2)
f4(s1(x0), 0, x1, x2)
f4(s1(x0), s1(x1), x2, x3)